//Author:       Miguel Dominguez & Heath Cazeau
//Date:         3/9/2011
//Class:        Software Engineering
//Project:      Jaz Interpreter
//File:         Lexer.h

#ifndef LEXER_H
#define LEXER_H
#include <iostream>
#include <string>
#include <map>
#include "Instruction.h"

using namespace std;

class Lexer
{
	public:
            static Instruction ToInstructions(ifstream &);
            static map<string, Instruction *> GetLabelLocations(Instruction input);
            static void StripLabelsFromCode(Instruction & input, map<string, Instruction *> labelLoc);
           // static void ParseControlFlow(Instruction &, map<string, Instruction *> &);
        private:
            static Instruction * ToInstruction(string);
};
#endif
